package org.example.domain.vo;

import lombok.Data;

/**
 * PDF文档章节信息类
 * 用于存储PDF文档中每个章节的相关信息
 */
@Data
public class SectionInfo {
    
    /**
     * 章节标题
     */
    private String title;
    
    /**
     * 章节的完整路径 (如 "第1章/1.1 JVM的运行机制")
     */
    private String fullPath;
    
    /**
     * 章节开始页码 (0-based)
     */
    private int startPage;
    
    /**
     * 章节结束页码 (0-based)
     */
    private int endPage;
    
    /**
     * 章节级别 (1表示一级标题，2表示二级标题，如1.1，3表示三级标题，如1.1.1)
     */
    private int level;
    
    /**
     * 获取章节的页数
     */
    public int getPageCount() {
        return endPage - startPage + 1;
    }
    
    @Override
    public String toString() {
        return "SectionInfo{" +
                "title='" + title + '\'' +
                ", fullPath='" + fullPath + '\'' +
                ", pages=" + (startPage + 1) + "-" + (endPage + 1) +
                ", level=" + level +
                '}';
    }
}
